#ifndef VERSIONMANAGER_DATA_H_INCLUDED
#define VERSIONMANAGER_DATA_H_INCLUDED

#include <wx/string.h>

namespace versionmgr
{

struct Version
{
	int      m_major;
	int      m_minor;
	int      m_release;
	int      m_build;
	wxString m_status;

	Version()
	: m_major(0), m_minor(1), m_release(0), m_build(0), m_status(wxEmptyString)
	{
	}
};

struct Settings
{
	wxString m_sFilename;
	wxString m_sMajor;
	wxString m_sMinor;
	wxString m_sRelease;
	wxString m_sBuild;
	wxString m_sStatus;
	wxString m_sVersion;
	bool     m_bUseNamespace;
	wxString m_sNamespace;
	bool     m_bUseBuildSvnRev;

	Settings()
	: m_sFilename(wxT("vm_version.h"))
	, m_sMajor(wxT("MAJOR"))
	, m_sMinor(wxT("MINOR"))
	, m_sRelease(wxT("RELEASE"))
	, m_sBuild(wxT("BUILD"))
	, m_sStatus(wxT("STATUS"))
	, m_sVersion(wxT("VERSION"))
	, m_bUseNamespace(true)
	, m_sNamespace(wxT("version"))
	, m_bUseBuildSvnRev(false)
	{
	}
};

struct VersionData
{
	Version  m_version;
	Settings m_settings;
};

}; // namespace versionmgr

#endif // VERSIONMANAGER_DATA_H_INCLUDED
